Many devices commonly found in homes, offices and other settings are able to communicate with other devices over local area, wide area and other networks. In addition to conventional computer systems, many different types of televisions, television receivers, audio/video components, video game players, home appliances and many other devices now communicate using digital networks.
This connectivity has enabled a new generation of applications and other benefits to consumers. Recently, for example, consumers have expressed significant interest in “place shifting” devices that allow remote viewing of television or other media content at locations other than the viewer's primary television set. Place shifting devices typically packetize and transmit media content over a network to a computer, phone or other remote device that can play back the packetized media stream for the viewer. In addition to placeshifting, many other entertainment, monitoring/control and/or other networked applications are enjoying similarly widespread consumer interest.
Challenges frequently arise, however, in establishing communications between networked devices, particularly if the communicating devices are not located on the same physical network. To establish a media placeshifting session over a network, for example, a media player client typically contacts a content-providing server over the network to establish a streaming connection for the placeshifted media content. Challenges can arise, however, if the client does not know where to find the server on the network, or if a firewall or other routing device prevents direct access between the two devices. Similar issues can occur in establishing connections for video game players, audio/video components, home appliances and/or many other devices as well.
While several different types of services have been used to establish connections between clients located on the Internet or other wide area network (WAN) using network address translation (NAT) or similar “hole punching” techniques, such services have exhibited a number of disadvantages. In particular, as home and other networks become increasingly complicated, WAN-based services may be unable to distinguish between addresses provided by clients and servers that are both located on separate local area networks (LANs) behind a common router or gateway. As a result, if the two devices attempting to establish a connection are located on separate local area networks from each other and if both of those networks are separated from the connection service by a router, gateway or the like, then the WAN-based service may have difficulty establishing the connection between the two devices.
It is therefore desirable to create systems, devices and/or methods for reliably and conveniently establishing connections between clients and servers that are separated by one or more local area or other networks. These and other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and this background section.